package com.topisv.tms.entity.work;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.topisv.tms.entity.AreaGroup;
import com.topisv.tms.entity.Customers;
import com.topisv.tms.entity.IdEntity;
import com.topisv.tms.entity.LogisticsCompany;
import com.topisv.tms.entity.User;

/**
 * 作业任务
 * @author ch
 *
 */
@Entity
@Table(name = "work_task")
public class WorkTask extends IdEntity implements Serializable {
	
	private static final long serialVersionUID = 1L;

	private String batchCode;
	
	private String batchType;
	
	private String taskCode;
	
	private String printStatus; //是否打印 （printed: 已打印 未打印：unprinted）
	
	private String pickType;
	
	private String customerCode;
	
	private Integer orderQty;
	
	private Date createTime;
	
	private Date finishTime;
	
	private Long createrId;
	
	private Long pickerId;
	
	private Long lamperId;
	
	private Long pkgerId;
	
	private Long senderId;
	
	private String status;
	
	private String warehouseCode;
	
	private String boxCode;
	
	private String billType;
	
	private String flowType; //作业模式 （prePrint: 预先打单 ， intimePrint: 及时打单 ）
	
	private String pickModel; //拣货模式, 当pick_type为单件single是有效 ( lamp: 灯光拣选 car: 推车拣选 )
	
	private Long pickcarId; //拣货人ID
	
	private String pickcarCode; //灯光架
	
	private Long lightshelfId; //灯光架ID
	
	private String lightshelfCode; //灯光架
	
	private String packformStatus;//随箱单打印标识
	
	private String expressStatus;//快递单打印标识
	
	private String pickinfoStatus; //拣货单打印标识
	
	private String invoiceStatus;//发票打印标示(1已打印0未打印)
	private String needInvoice;//是否需要打印发票(1需要。0不需要)
	
	private String tacticsType;
	
	private int printFlag;  //拣货单打印次数
	
	private Long assignerId;//指派人
	
	private int fastFlag;//快捷领取标志
	
    private String prioritySendFlag;//优先派送标志 0:否 1:是  
    
    public String getPrioritySendFlag() {
		return prioritySendFlag;
	}
	public void setPrioritySendFlag(String prioritySendFlag) {
		this.prioritySendFlag = prioritySendFlag;
	}
	
	public int getFastFlag() {
		return fastFlag;
	}

	public void setFastFlag(int fastFlag) {
		this.fastFlag = fastFlag;
	}

	public Long getAssignerId() {
		return assignerId;
	}

	public void setAssignerId(Long assignerId) {
		this.assignerId = assignerId;
	}

	public int getPrintFlag() {
		return printFlag;
	}

	public void setPrintFlag(int printFlag) {
		this.printFlag = printFlag;
	}

	public String getTacticsType() {
		return tacticsType;
	}

	public void setTacticsType(String tacticsType) {
		this.tacticsType = tacticsType;
	}

	public String getInvoiceStatus() {
		return invoiceStatus;
	}

	public void setInvoiceStatus(String invoiceStatus) {
		this.invoiceStatus = invoiceStatus;
	}


	private Long pickedNum; 
	
	private Long goodsNum;
	
	private String companyCode;
	
	public String getCompanyCode() {
		return companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}

	public Long getPickedNum() {
		return pickedNum;
	}

	public void setPickedNum(Long pickedNum) {
		this.pickedNum = pickedNum;
	}

	public Long getGoodsNum() {
		return goodsNum;
	}

	public void setGoodsNum(Long goodsNum) {
		this.goodsNum = goodsNum;
	}

	public String getExpressStatus() {
		return expressStatus;
	}

	public void setExpressStatus(String expressStatus) {
		this.expressStatus = expressStatus;
	}

	public String getPackformStatus() {
		return packformStatus;
	}

	public void setPackformStatus(String packformStatus) {
		this.packformStatus = packformStatus;
	}

	public String getPrintStatus() {
		return printStatus;
	}
	
	public Long getLamperId() {
		return lamperId;
	}

	public void setLamperId(Long lamperId) {
		this.lamperId = lamperId;
	}

	public String getPickcarCode() {
		return pickcarCode;
	}

	public void setPickcarCode(String pickcarCode) {
		this.pickcarCode = pickcarCode;
	}

	public String getLightshelfCode() {
		return lightshelfCode;
	}

	public void setLightshelfCode(String lightshelfCode) {
		this.lightshelfCode = lightshelfCode;
	}

	public void setPrintStatus(String printStatus) {
		this.printStatus = printStatus;
	}

	public Long getLightshelfId() {
		return lightshelfId;
	}

	public void setLightshelfId(Long lightshelfId) {
		this.lightshelfId = lightshelfId;
	}

	public Long getPickcarId() {
		return pickcarId;
	}

	public void setPickcarId(Long pickcarId) {
		this.pickcarId = pickcarId;
	}

	public Long getCreaterId() {
		return createrId;
	}

	public void setCreaterId(Long createrId) {
		this.createrId = createrId;
	}

	public Long getPickerId() {
		return pickerId;
	}

	public void setPickerId(Long pickerId) {
		this.pickerId = pickerId;
	}

	public Long getPkgerId() {
		return pkgerId;
	}

	public void setPkgerId(Long pkgerId) {
		this.pkgerId = pkgerId;
	}

	public Long getSenderId() {
		return senderId;
	}

	public void setSenderId(Long senderId) {
		this.senderId = senderId;
	}

	public String getPickModel() {
		return pickModel;
	}

	public void setPickModel(String pickModel) {
		this.pickModel = pickModel;
	}

	public String getFlowType() {
		return flowType;
	}

	public void setFlowType(String flowType) {
		this.flowType = flowType;
	}

	public String getBillType() {
		return billType;
	}

	public void setBillType(String billType) {
		this.billType = billType;
	}

	public String getBoxCode() {
		return boxCode;
	}

	public void setBoxCode(String boxCode) {
		this.boxCode = boxCode;
	}

	public String getBatchType() {
		return batchType;
	}

	public void setBatchType(String batchType) {
		this.batchType = batchType;
	}



	public String getWarehouseCode() {
		return warehouseCode;
	}

	public void setWarehouseCode(String warehouseCode) {
		this.warehouseCode = warehouseCode;
	}

	public String getBatchCode() {
		return batchCode;
	}

	public void setBatchCode(String batchCode) {
		this.batchCode = batchCode;
	}

	public String getTaskCode() {
		return taskCode;
	}

	public void setTaskCode(String taskCode) {
		this.taskCode = taskCode;
	}

	public String getPickType() {
		return pickType;
	}

	public void setPickType(String pickType) {
		this.pickType = pickType;
	}

	public String getCustomerCode() {
		return customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public Integer getOrderQty() {
		return orderQty;
	}

	public void setOrderQty(Integer orderQty) {
		this.orderQty = orderQty;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(Date finishTime) {
		this.finishTime = finishTime;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	


	//dto属性
	private List<WorkOrder> orderList;
	
    private User creater;
	
	private User picker;
	
	private User pkger;
	
	private User sender;
	
	private User assigner;
	
	private Customers customer;
	
	private AreaGroup warehouse;
	
	private LogisticsCompany company;

	private String yfStatus;
	@Transient
	public User getAssigner() {
		return assigner;
	}

	public void setAssigner(User assigner) {
		this.assigner = assigner;
	}

	@Transient
	public List<WorkOrder> getOrderList() {
		return orderList;
	}

	public void setOrderList(List<WorkOrder> orderList) {
		this.orderList = orderList;
	}
	
	@Transient
	public User getCreater() {
		return creater;
	}

	public void setCreater(User creater) {
		this.creater = creater;
	}

	@Transient
	public User getPicker() {
		return picker;
	}

	public void setPicker(User picker) {
		this.picker = picker;
	}

	@Transient
	public User getPkger() {
		return pkger;
	}

	public void setPkger(User pkger) {
		this.pkger = pkger;
	}

	@Transient
	public User getSender() {
		return sender;
	}

	public void setSender(User sender) {
		this.sender = sender;
	}

	@Transient
	public Customers getCustomer() {
		return customer;
	}

	public void setCustomer(Customers customer) {
		this.customer = customer;
	}

	@Transient
	public AreaGroup getWarehouse() {
		return warehouse;
	}

	public void setWarehouse(AreaGroup warehouse) {
		this.warehouse = warehouse;
	}

	@Transient
	public LogisticsCompany getCompany() {
		return company;
	}

	public void setCompany(LogisticsCompany company) {
		this.company = company;
	}

	public String getNeedInvoice() {
		return needInvoice;
	}

	public void setNeedInvoice(String needInvoice) {
		this.needInvoice = needInvoice;
	}
	@Transient
	public String getYfStatus() {
		return yfStatus;
	}

	public void setYfStatus(String yfStatus) {
		this.yfStatus = yfStatus;
	}

	public String getPickinfoStatus() {
		return pickinfoStatus;
	}

	public void setPickinfoStatus(String pickinfoStatus) {
		this.pickinfoStatus = pickinfoStatus;
	}
 
}